Mobile application testing typically requires manual interaction by an individual with the application program (application or simply app) being tested/evaluated. As the tester performs a test case on a mobile application, the interaction and the application's response can be captured and stored for offline analysis. However this approach is limited since human error can contaminate the test results such as by not adequately testing all possible program flow paths. Furthermore this approach is inefficient since each individual test case must be manually performed.